Skip to content

Solution: LP-0003 — Private Allowlist / Airdrop Distributor#86

Open
retraca wants to merge 12 commits into
logos-co:masterfrom
retraca:lp-0003-submission
Open

Solution: LP-0003 — Private Allowlist / Airdrop Distributor#86
retraca wants to merge 12 commits into
logos-co:masterfrom
retraca:lp-0003-submission

Conversation

@retraca

@retraca retraca commented Jun 11, 2026

Copy link
Copy Markdown

RISC0-based private airdrop primitive for LEZ.

Implementation: https://github.com/retraca/lp-0003-private-airdrop

Claimants prove Merkle membership without revealing their account identity. The receipt binds to a single destination note (relay protection) and a nullifier prevents double-claiming.

Key design decisions:

  • Domain-tagged Merkle hashing (0x00 leaf / 0x01 internal node) prevents second-preimage attacks
  • Recipient binding check runs before any state mutation — a failed relay attempt leaves the nullifier unconsumed
  • nullifier = SHA256(account_id || distributor_id) — bound to claimant and distribution
  • Three on-chain instructions: initialize, claim, query_state; error codes 7001–7006

See solutions/LP-0003.md for the full write-up, success criteria checklist, FURPS self-assessment, and terms acknowledgment.

@github-actions

github-actions Bot commented Jun 11, 2026

Copy link
Copy Markdown

✅ Validation passed

A reviewer will assess against the prize criteria.
ℹ️ Solution submission for LP-0003.
ℹ️ Checking repo: https://github.com/retraca/lp-0003-private-airdrop


Automated check. See solution template and TERMS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant